using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media.Imaging;
using System.Windows.Media;

namespace SqlMiM.Common
{
    public interface IPlugin
    {
        UserControl Display { get; }
        String Name { get;  }
        String Description { get; }
        Key Key  { get; }
        ImageSource Icon { get; }
        int Index { get; }
        IPluginGroup Group { get; }

        void Activate();
        void Refresh();
        void Deactivate();

    }

    public class IPluginEventArgs : EventArgs
    {
        private IPlugin plugin;

        public IPlugin Plugin
        {
            get { return plugin; }
            set { plugin = value; }
        }

        public IPluginEventArgs(IPlugin plugin)
        {
            this.Plugin = plugin;
        }

    }
}
